package bingosoft.metro.datasync.uuap.client.form;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import leap.core.doc.annotation.Doc;
import leap.web.form.FormBase;

/**
 * @author Feily
 * @功能描述 安全权限表单类
 * @创建时间 2018-03-29
 */
public class PermissionDataForm extends FormBase{

	/**
	 * 权限ID
	 */
	@Doc("权限ID")
	private String permissionId;
	/**
	 * 父权限ID
	 */
	@Doc("父权限ID")
	private String parentPermissionId;
	/**
	 * 应用ID
	 */
	@Doc("应用ID")
	private String appId;
	/**
	 * 权限名称
	 */
	@Doc("权限名称")
	private String permissionName;
	/**
	 * 权限编码
	 */
	@Doc("权限编码")
	private String permissionCode;
	/**
	 * 权限类型：module-模块，page-页面，element-元素
	 */
	@Doc("权限类型：module-模块，page-页面，element-元素")
	private String permissionType;
	/**
	 * 权限页面URL
	 */
	@Doc("权限页面URL")
	private String pageUrl;
	/**
	 * 是否公共
	 */
	@Doc("是否公共")
	private Boolean isPublic;
	/**
	 * 排序
	 */
	@Doc("排序")
	private Integer orderNum;
	/**
	 * 是否删除
	 */
	@Doc("是否删除")
	private Boolean isDelete;
	/**
	 * 创建时间
	 */
	@Doc("创建时间")
	private Date createTime;
	/**
	 * 创建用户ID
	 */
	@Doc("创建用户ID")
	private String createUserId;
	/**
	 * 修改时间
	 */
	@Doc("修改时间")
	private Date updateTime;
	/**
	 * 修改用户ID
	 */
	@Doc("修改用户ID")
	private String updateUserId;
	/**
	 * 扩展字段1
	 */
	@Doc("扩展字段1")
	private String column1;
	/**
	 * 扩展字段2
	 */
	@Doc("扩展字段2")
	private String column2;
	/**
	 * 扩展字段3
	 */
	@Doc("扩展字段3")
	private String column3;
	/**
	 * 扩展字段4
	 */
	@Doc("扩展字段4")
	private String column4;
	/**
	 * 扩展字段5
	 */
	@Doc("扩展字段5")
	private String column5;


	/**
	 * 获取权限ID
	 * @return 权限ID
	 */
	public String getPermissionId() {
		return permissionId;
	}
	
	/**
	 * 设置权限ID
	 * @param permissionId 权限ID
	 */
	public void setPermissionId(String permissionId) {
		this.permissionId = permissionId;
	}

	/**
	 * 获取父权限ID
	 * @return 父权限ID
	 */
	public String getParentPermissionId() {
		return parentPermissionId;
	}
	
	/**
	 * 设置父权限ID
	 * @param parentPermissionId 父权限ID
	 */
	public void setParentPermissionId(String parentPermissionId) {
		this.parentPermissionId = parentPermissionId;
	}

	/**
	 * 获取应用ID
	 * @return 应用ID
	 */
	public String getAppId() {
		return appId;
	}
	
	/**
	 * 设置应用ID
	 * @param appId 应用ID
	 */
	public void setAppId(String appId) {
		this.appId = appId;
	}

	/**
	 * 获取权限名称
	 * @return 权限名称
	 */
	public String getPermissionName() {
		return permissionName;
	}
	
	/**
	 * 设置权限名称
	 * @param permissionName 权限名称
	 */
	public void setPermissionName(String permissionName) {
		this.permissionName = permissionName;
	}

	/**
	 * 获取权限编码
	 * @return 权限编码
	 */
	public String getPermissionCode() {
		return permissionCode;
	}
	
	/**
	 * 设置权限编码
	 * @param permissionCode 权限编码
	 */
	public void setPermissionCode(String permissionCode) {
		this.permissionCode = permissionCode;
	}

	/**
	 * 获取权限类型：module-模块，page-页面，element-元素
	 * @return 权限类型：module-模块，page-页面，element-元素
	 */
	public String getPermissionType() {
		return permissionType;
	}
	
	/**
	 * 设置权限类型：module-模块，page-页面，element-元素
	 * @param permissionType 权限类型：module-模块，page-页面，element-元素
	 */
	public void setPermissionType(String permissionType) {
		this.permissionType = permissionType;
	}

	/**
	 * 获取权限页面URL
	 * @return 权限页面URL
	 */
	public String getPageUrl() {
		return pageUrl;
	}
	
	/**
	 * 设置权限页面URL
	 * @param pageUrl 权限页面URL
	 */
	public void setPageUrl(String pageUrl) {
		this.pageUrl = pageUrl;
	}

	/**
	 * 获取是否公共
	 * @return 是否公共
	 */
	public Boolean getIsPublic() {
		return isPublic;
	}
	
	/**
	 * 设置是否公共
	 * @param isPublic 是否公共
	 */
	public void setIsPublic(Boolean isPublic) {
		this.isPublic = isPublic;
	}

	/**
	 * 获取排序
	 * @return 排序
	 */
	public Integer getOrderNum() {
		return orderNum;
	}
	
	/**
	 * 设置排序
	 * @param orderNum 排序
	 */
	public void setOrderNum(Integer orderNum) {
		this.orderNum = orderNum;
	}

	/**
	 * 获取是否删除
	 * @return 是否删除
	 */
	public Boolean getIsDelete() {
		return isDelete;
	}
	
	/**
	 * 设置是否删除
	 * @param isDelete 是否删除
	 */
	public void setIsDelete(Boolean isDelete) {
		this.isDelete = isDelete;
	}

	/**
	 * 获取创建时间
	 * @return 创建时间
	 */
	public Date getCreateTime() {
		return createTime;
	}
	
	/**
	 * 设置创建时间
	 * @param createTime 创建时间
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/**
	 * 获取创建用户ID
	 * @return 创建用户ID
	 */
	public String getCreateUserId() {
		return createUserId;
	}
	
	/**
	 * 设置创建用户ID
	 * @param createUserId 创建用户ID
	 */
	public void setCreateUserId(String createUserId) {
		this.createUserId = createUserId;
	}

	/**
	 * 获取修改时间
	 * @return 修改时间
	 */
	public Date getUpdateTime() {
		return updateTime;
	}
	
	/**
	 * 设置修改时间
	 * @param updateTime 修改时间
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	/**
	 * 获取修改用户ID
	 * @return 修改用户ID
	 */
	public String getUpdateUserId() {
		return updateUserId;
	}
	
	/**
	 * 设置修改用户ID
	 * @param updateUserId 修改用户ID
	 */
	public void setUpdateUserId(String updateUserId) {
		this.updateUserId = updateUserId;
	}

	/**
	 * 获取扩展字段1
	 * @return 扩展字段1
	 */
	public String getColumn1() {
		return column1;
	}
	
	/**
	 * 设置扩展字段1
	 * @param column1 扩展字段1
	 */
	public void setColumn1(String column1) {
		this.column1 = column1;
	}

	/**
	 * 获取扩展字段2
	 * @return 扩展字段2
	 */
	public String getColumn2() {
		return column2;
	}
	
	/**
	 * 设置扩展字段2
	 * @param column2 扩展字段2
	 */
	public void setColumn2(String column2) {
		this.column2 = column2;
	}

	/**
	 * 获取扩展字段3
	 * @return 扩展字段3
	 */
	public String getColumn3() {
		return column3;
	}
	
	/**
	 * 设置扩展字段3
	 * @param column3 扩展字段3
	 */
	public void setColumn3(String column3) {
		this.column3 = column3;
	}

	/**
	 * 获取扩展字段4
	 * @return 扩展字段4
	 */
	public String getColumn4() {
		return column4;
	}
	
	/**
	 * 设置扩展字段4
	 * @param column4 扩展字段4
	 */
	public void setColumn4(String column4) {
		this.column4 = column4;
	}

	/**
	 * 获取扩展字段5
	 * @return 扩展字段5
	 */
	public String getColumn5() {
		return column5;
	}
	
	/**
	 * 设置扩展字段5
	 * @param column5 扩展字段5
	 */
	public void setColumn5(String column5) {
		this.column5 = column5;
	}
	
	
	/****************************** 自定义属性开始  *****************************/

	/**
	 * 权限规则列表
	 */
	@Doc("权限规则列表")
	private List<PermissionRuleDataForm> rules = new ArrayList<PermissionRuleDataForm>();

	/**
	 * 获取权限规则列表
	 * @return 权限规则列表
	 */
	public List<PermissionRuleDataForm> getRules() {
		return rules;
	}

	/**
	 * 设置权限规则列表
	 * @param rules 权限规则列表
	 */
	public void setRules(List<PermissionRuleDataForm> rules) {
		this.rules = rules;
	}
	
	/****************************** 自定义属性结束  *****************************/
}
